package com.binance.mbxgateway.web.service;

import java.math.BigDecimal;
import java.util.Date;

import org.hibernate.validator.constraints.NotEmpty;

import com.binance.mbxgateway.vo.PriceConvertVo;
import com.binance.mbxgateway.vo.request.AddProductRequest;
import com.binance.mbxgateway.vo.request.OrderTypeRequest;

/**
 * @author wangxiao
 */
public interface IProductService {

    public PriceConvertVo internalConvert(@NotEmpty final String from, @NotEmpty final String to,
            final BigDecimal amount, final Date date) throws Exception;

    /**
     * 设置某个交易对的下单频率
     *
     * @param symbol
     * @param numOrders
     * @throws Exception
     */
    public void setNumAlgoOrdersFilter(@NotEmpty String symbol, @NotEmpty Integer numOrders) throws Exception;


    /**
     * 设置冰山单拆分数量
     *
     * @param symbol
     * @param limit
     * @throws Exception
     */
    public void setIceicebergLimit(@NotEmpty String symbol, @NotEmpty Integer limit) throws Exception;


    public void setProductOrderTypes(OrderTypeRequest orderTypes) throws Exception;


    public void addProduct(AddProductRequest request) throws Exception;


    public void creatAsset(String symbol, String decimalPlaces) throws Exception;
}
